/**
 * mac.pager
 * version: 2.0
 * author: Mac_J@boarsoft.com
 * need: core.js
 */
(function($){
mac.pager = function(self, cfg) {
//	cfg.msg = cfg.msg || {
//		page: '{0}, {1}/{2}',
//		go: '跳转',
//		total: '共'
//	};
	self.config = cfg;
	self.update = function(tt, ps, pc, pn) {
		self.empty();
		self.total = tt;
		self.pageCount = pc;
		self.pageNo = pn;
		self.pageSize = ps;
		//var msg = cfg.msg;
        //self.append(mac.getMsg(msg.page, [ tt, pn, pc ]));
        //First
        self.append('<span action="1" class="pageNo">首页</span>');
        //Prev Skip
        var prevskip=pn - cfg.pagerLength;
        if(prevskip>0)
            self.append('<span action="'+prevskip+'" class="pageNo">前'+cfg.pagerLength+'页</span>');
        else
            self.append('<span action="1" class="pageNo">前'+cfg.pagerLength+'页</span>');
        //Prev
        var prev=pn - 1;
        if(prev>0)
            self.append('<span action="'+prev+'" class="pageNo">上一页</span>');
        else
            self.append('<span action="1" class="pageNo">上一页</span>');
        //Next Skip
        var nextskip=pn + cfg.pagerLength;
        if(nextskip<pc)
            self.append('<span action="'+nextskip+'" class="pageNo">后'+cfg.pagerLength+'页</span>');
        else
            self.append('<span action="'+pc+'" class="pageNo">后'+cfg.pagerLength+'页</span>');
        //Next
        var next=pn + 1;
        if(next<pc)
            self.append('<span action="'+next+'" class="pageNo">下一页</span>');
        else
            self.append('<span action="'+pc+'" class="pageNo">下一页</span>');
        //Last
        self.append('<span action="'+pc+'" class="pageNo">尾页</span>');

//		var pl = cfg.pagerLength, hf = Math.floor(pl / 2), hm = pl % 2;
//		var start = Math.max(1, Math.min(pn - hf, pc - pl + 1));
//		var end = Math.min(start + pl, pc + 1);
//		if (start > 1)
//			self.append('<span action="1" class="pageNo">|&lt;&lt;</span>');
//        if (start > 1) {
//            var a = $('<span class="pageNo">前'+cfg.pagerLength+'页</span>');
//            var prevskip=start - cfg.pagerLength;
//            if(prevskip>0)
//                a.attr('action',prevskip);
//            else
//                a.attr('action',1);
//            self.append(a);
//        }
//		if (start > pl) {
//			var a = $('<span class="pageNo">&lt;&lt;</span>');
//			a.attr('action', start - hf + (hm > 0) ? 0 : 1);
//			self.append(a);
//		}
//		for ( var i = start; i < end; i++) {
//			var a = $('<span class="pageNo"></span>');
//			if (i != pn)
//				a.attr('action', i);
//			self.append(a.append(i));
//		}
//		if (end <= pc - pl) {
//			var a = $('<span class="pageNo">&gt;&gt;</span>');
//			a.attr('action', end + hf);
//			self.append(a);
//		}
//        if (end <pc) {
//            var a = $('<span class="pageNo">后'+cfg.pagerLength+'页</span>');
//            var nextskip=start - cfg.pagerLength;
//            if(nextskip>0)
//                a.attr('action',nextskip);
//            else
//                a.attr('action',end);
//            self.append(a);
//        }
//		if (end < pc) {
//			var a = $('<span class="pageNo">&gt;&gt;|</span>');
//			self.append(a.attr('action', pc));
//		}
		self.children('span[action]').click(function() {
			self.pageNo = $(this).attr('action');
			cfg.loadPage.call(self, self.pageNo, self.pageSize);
		});

        self.append('&nbsp;&nbsp;第');
		var pnTf = $('<input type="text" name="pageNo"/>');
		pnTf.attr('maxlength', (''+pc).length);
        pnTf.val(pn);
		pnTf.change(function() {
			this.value = Math.max(1, Math.min(this.value, pc));
		});
        pnTf.keydown(function(e) {
            var key = e.which;
            if (key == 13) {
                e.preventDefault();
                var n = pnTf.val() || 1;
                if (isNaN(n) || n > self.pageCount)
                    n = 1;
                self.pageNo = n;
                cfg.loadPage.call(self, n, self.pageSize);
            }
        });

		self.append(pnTf);
//		$('<span class="button"></span>').click(function() {
//			var n = pnTf.val() || 1;
//			if (isNaN(n) || n > self.pageCount)
//				n = 1;
//			self.pageNo = n;
//			cfg.loadPage.call(self, n, self.pageSize);
//		}).append('跳转').appendTo(self);

//        self.append('&nbsp;&nbsp;当前第'+pn+'页，共'+pc+'页');
        self.append('页，共&nbsp;'+(pc||0)+'&nbsp;页');
	};
	return self;
}
})(jQuery);